package com.example.test.annotation;

import java.lang.annotation.*;

/**
 * 用于过滤请求传入的参数
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface RequestView {
    /**
     * 分组，只填充标记有此分组的参数
     */
    Class[] value() default {};

    /**
     * 只包含的属性列表
     */
    String[] allowedFields() default {};

    /**
     * 过滤属性列表
     */
    String[] disallowedFields() default {};

    /**
     * 是否合并数据库中的数据,设置为true后会从数据库中取出数据作为原始数据进行赋值,传入参数中必须包含ID
     */
    boolean merge() default false;
}
